pub use clap::Parser;
use clap::{Subcommand, command};

/// Welcome to use guide config parser
#[derive(Parser)]
#[command(version, author, about, long_about)]
pub struct Config {
    /// Specify your operator
    #[command(subcommand)]
    pub op: Operator,
}

#[derive(Subcommand)]
pub enum Operator {
    Train {
        #[arg(long, short)]
        num_epochs: Option<usize>,
        #[arg(long, short)]
        batch_size: Option<usize>,
        #[arg(long, short)]
        learning_rate: Option<f64>,
        #[arg(long, short)]
        seed: Option<u64>,
    },
    Infer,
}
